GtkBuilder: Prepare for parsing GdkRGBA types.
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 22 Oct 2010 16:53:54 +0000 (18:53 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 22 Oct 2010 18:14:57 +0000 (20:14 +0200)
gtk/gtkbuilder.c

index 3a34fee99dc50c26089fb85fe6d8bde3dda64b9e..06ab4107eeeeac7f358880b1fdc5e6a3e85ad5d7 100644 (file)
@@ -1559,6 +1559,22 @@ gtk_builder_value_from_string_type (GtkBuilder   *builder,
               ret = FALSE;
             }
         }
+      else if (G_VALUE_HOLDS (value, GDK_TYPE_RGBA))
+        {
+          GdkRGBA rgba = { 0 };
+
+          if (gdk_rgba_parse (string, &rgba))
+            g_value_set_boxed (value, &rgba);
+          else
+            {
+              g_set_error (error,
+                           GTK_BUILDER_ERROR,
+                           GTK_BUILDER_ERROR_INVALID_VALUE,
+                           "Could not parse RGBA color '%s'",
+                           string);
+              ret = FALSE;
+            }
+        }
       else if (G_VALUE_HOLDS (value, G_TYPE_STRV))
         {
           gchar **vector = g_strsplit (string, "\n", 0);